package com.zmn.plat.model.entity.channel;

import com.zmn.common.utils.pager.Pages;
import com.zmn.plat.common.util.FieldNameMapping;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;

@Data
@ToString
public class ChannelQuery extends Pages implements Serializable {

    private static final long serialVersionUID = 4669931913098687041L;
    /**
     * 渠道ID
     */
    private Integer channelId;

    /**
     * 渠道ID集合
     */
    private List<Integer> channelIds;

    /**
     * 上级下单渠道id
     */
    private Integer parentId;

    /**
     * 上级来源渠道id
     */
    private Integer parentSourceId;

    /**
     * 上级下单渠道ids
     */
    private List<Integer> parentIds;

    /**
     * 渠道层级 1一级渠道 2二级渠道
     */
    private Integer rank;

    /**
     * 公司ID
     */
    private Integer companyId;

    /**
     * 渠道内部名称,默认对外隐藏需开通权限
     */
    private String innerName;

    /**
     * 渠道名称
     */
    private String name;

    /**
     * 上级渠道名称
     */
    private String parentName;

    /**
     * 名称或拼音模糊搜索
     */
    private String likeName;

    /**
     * 渠道别名
     */
    private String anotherName;

    /**
     * 别名或拼音模糊搜索
     */
    private String likeAnotherName;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 渠道类型
     */
    private List<Integer> channelTypes;

    /**
     * 渠道类型：1.政企渠道2.商家渠道3.厂家渠道4.自有渠道5.推广渠道6.服务商渠道
     */
    private Integer channelType;

    /**
     * 描述: 考核渠道： 1.否 2.是
     */
    private Integer assessmentFlag;

    /**
     * 推广方式 1无2头条3百度
     */
    private Integer promotionType;
    /**
     * 推广产品 10啄木鸟20非啄木鸟
     */
    private Integer promotionBrand;

    /**
     * 接入类型集合
     */
    private List<Integer> accessModes;

    /**
     * 接入类型：1 话务接入, 2 H5, 3 API, 4 临时接入
     */
    private Integer accessMode;

    /**
     * 订单转单到其他平台：1不允许 2允许
     */
    @Deprecated
    private Integer orderTransferType;

    /**
     * 服务审核类型 1不需审核 2保内审核 3保外审核 4 保内&保外审核
     */
    @Deprecated
    private Integer auditType;

    /**
     * 是否通知工程师 1否 2是
     */
    @Deprecated
    private Integer notifyEngineer;

    /**
     * 审核起始金额:MIN=0，MAX=1000000
     */
    @Deprecated
    private Integer auditMinPrice;

    /**
     * 允许发送消息：1不允许，2允许
     */
    private Integer sendMsg;

    /**
     * 价格审核部门
     */
    @Deprecated
    private Integer priceAuditDeptId;


    /**
     * 展示渠道产品名称：1不允许 2允许
     */
    @Deprecated
    private Integer channelProductNameShowType;

    /**
     * 渠道等级：1普通渠道，2VIP渠道，3战略合作渠道
     */
    private Integer level;

    /**
     * 线上/线下：1其他，2线下，3线上
     */
    @Deprecated
    private Integer platformType;

    /**
     * 1.个人客户,2.企业客户,3.渠道商,4.厂家,5.测试,6.黑名单
     */
    private Integer customerType;

    /**
     * 所属平台：1言而有信 2啄木鸟 3川南环保 4一步生活
     */
    private Integer plat;

    /**
     * 平台列表
     */
    private List<Integer> plats;

    /**
     * 所属组织：20000言而有信 10000啄木鸟 30000一步生活 40000川南环保
     */
    private Integer orgId;

    /**
     * 所在城市区域：省
     */
    private Integer provinceId;

    /**
     * 所在城市区域：市
     */
    private Integer cityId;

    /**
     * 一级部门ID
     */
    private Integer oneDeptId;

    /**
     * 一级部门ids
     */
    private List<Integer> oneDeptIds;

    /**
     * 二级部门ID
     */
    private Integer deptId;

    /**
     * 二级部门ids
     */
    private List<Integer> deptIds;

    /**
     * 状态：1停用，2启用
     */
    private Integer status;

    /**
     * 保内预收限制：1公司，2渠道，3无
     */
    @Deprecated
    private Integer inAdvanceLimit;

    /**
     * 保内尾款限制：1公司，2渠道，3无
     */
    @Deprecated
    private Integer inRestPaymentLimit;

    /**
     * 保外预收限制：1公司，2渠道，3无
     */
    @Deprecated
    private Integer outAdvanceLimit;

    /**
     * 保外尾款限制：1公司，2渠道，3无
     */
    @Deprecated
    private Integer outRestPaymentLimit;

    /**
     * 是否允许贴花：1不允许，2允许
     */
    @Deprecated
    private Integer applique;

    /**
     * 允许渠道预收：1不允许，2允许
     */
    @Deprecated
    private Integer prepayType;

    /**
     * 保内收款限制：1下单预付全款，2工程师收全款，3预付+尾款，4后付费
     */
    @Deprecated
    private Integer inReceivablesLimit;

    /**
     * 保外收款限制：1下单预付全款，2工程师收全款，3预付+尾款，4后付费
     */
    @Deprecated
    private Integer outReceivablesLimit;

    /**
     * 透传订单价格：1不允许，2允许
     */
    @Deprecated
    private Integer showOrderPrice;

    /**
     * 后台录单：1不允许，2允许
     */
    @Deprecated
    private Integer hidden;

    /**
     * 描述: 运营部门ID
     */
    private Integer abutmentDeptId;

    /**
     * 描述: 运营部门
     */
    private String abutmentDeptName;

    /**
     * 运营责任人ID
     */
    private Integer abutmenter;

    /**
     * 运营责任人名称
     */
    private String abutmenterName;

    /**
     * 后台分页特有参数: 渠道ID OR 渠道名称
     */
    private String keyword;

    /**
     * 后台分页特有参数: 合同到期状态：1正常，2即将到期
     */
    private Integer contractExpiresDateStatus;

    /**
     * 后台分页特有参数: 收款方式
     */
    private List<Integer> receivables;

    /**
     * 后台分页特有参数: 收款方式Str
     */
    private String receivablesStr;

    /**
     * 后台分页特有参数: 故障价格表ID
     */
    private Integer tariffId;

    /**
     * 服务价格表ID
     */
    private Integer servPriceId;

    /**
     * 后台分页特有参数: 1保外2保内3工程
     */
    private Integer bizType;

    /**
     * 合同模式：1平台代收合同 2平台维修服务合同 3子公司维修合同
     */
    private Integer contractModel;

    /**
     * 子公司ID
     */
    private Integer subCompanyId;

    /**
     * 描述：渠道名称或者公司名称，mcc特有参数
     */
    private String nameOrCompanyName;

    /**
     * 描述：排序规则，mcc特有
     */
    private Integer sortType;
    /**
     * 描述：创建时间
     */
    private String creatTime;
}